home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 90xx / 9001a.d64 / quelltext 1 (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  10KB  |  420 lines

  1. 10 :          SYS 36864
  2. 15 :          .OPT   OO
  3. 20 :          *=$C000
  4. 25 :;
  5. 30 LISTEN = $FFB1
  6. 35 SECOND = $FF93
  7. 40 IECOUT = $FFA8
  8. 45 UNLSTN = $FFAE
  9. 50 DISKNAME = $0480
  10. 55 CHROUT = $FFD2
  11. 60 CINT = $E518
  12. 65 CHRIN = $FFCF
  13. 70 GET = $FFE4
  14. 75 IECIN = $FFA5
  15. 80 TALK = $FFB4
  16. 85 UNTALK = $FFAB
  17. 90 TALKSA = $FF96
  18. 95 PLOT = $FFF0
  19. 100 :;
  20. 105 :;
  21. 110 :;****** BILDSCHIRMAUFBAU *******
  22. 115 :;
  23. 120 MENU       LDX #0
  24. 125 :          LDA #32
  25. 130 CLRNAME    STA NAME,X
  26. 135 :          INX
  27. 140 :          CPX #16
  28. 145 :          BCC CLRNAME
  29. 150 :          STA ID1+1
  30. 155 :          STA ID1+2
  31. 160 :          JSR CINT
  32. 165 :          LDA #0
  33. 170 :          STA 53280
  34. 175 :          STA 53281
  35. 180 :          LDA #<(SCREEN)
  36. 185 :          STA $FB
  37. 190 :          LDA #>(SCREEN)
  38. 195 :          STA $FC
  39. 200 :          LDY #0
  40. 205 OUTPUT1    LDA ($FB),Y
  41. 210 :          JSR CHROUT
  42. 215 :          INY
  43. 220 :          BNE CHKEND
  44. 225 :          INC $FC
  45. 230 CHKEND     CMP #160
  46. 235 :          BNE OUTPUT1
  47. 240 :          LDX #$FF
  48. 245 INPUT1     JSR CHRIN
  49. 250 :          CMP #13
  50. 255 :          BEQ (null)TNAME
  51. 260 :          INX
  52. 265 :          CPX #16
  53. 270 :          BCS INPUT1
  54. 275 :          STA NAME,X
  55. 280 :          BCC INPUT1
  56. 285 (null)TNAME    LDY #0
  57. 290 OUTPUT2    LDA ID2,Y
  58. 295 :          JSR CHROUT
  59. 300 :          INY
  60. 305 :          CMP #160
  61. 310 :          BNE OUTPUT2
  62. 315 :          LDX #$FF
  63. 320 INPUT2     JSR CHRIN
  64. 325 :          CMP #13
  65. 330 :          BEQ START
  66. 335 :          INX
  67. 340 :          CPX #2
  68. 345 :          BCS INPUT2
  69. 350 :          STA ID1+1,X
  70. 355 :          BCC INPUT2
  71. 360 START     LDA #<(FRMTRACK)
  72. 365 :         STA $FB
  73. 370 :         LDA #>(FRMTRACK)
  74. 375 :         STA $FC
  75. 380 :         LDA #<(BUFFERWRT)
  76. 385 :         STA $FD
  77. 390 :         LDA #>(BUFFERWRT)
  78. 395 :         STA $FE
  79. 400 :         LDA #$0A
  80. 405 :         STA $57
  81. 410 :         LDA #$04
  82. 415 :         STA $58
  83. 420 :         JSR BUFFERWRT
  84. 425 :         LDA #0
  85. 430 :         STA $90
  86. 435 :         LDA #8
  87. 440 :         JSR LISTEN
  88. 445 :         LDA #$6F
  89. 450 :         JSR SECOND
  90. 455 :         LDA $90
  91. 460 :         BMI DEVERR
  92. 465 :         JSR UNLSTN
  93. 470 :         LDA #8
  94. 475 :         JSR TALK
  95. 480 :         LDA #$6F
  96. 485 :         JSR TALKSA
  97. 490 :         LDX #0
  98. 495 ERRIN     JSR IECIN
  99. 500 :         STA $0200,X
  100. 505 :         INX
  101. 510 :         CMP #13
  102. 515 :         BNE ERRIN
  103. 520 :         JSR UNTALK
  104. 525 :         LDA $0200
  105. 530 :         CMP #"0"
  106. 535 :         BNE ERROR
  107. 540 :         LDA $0201
  108. 545 :         CMP #"0"
  109. 550 :         BNE ERROR
  110. 555 :         JMP MENU
  111. 560 :;
  112. 565 DEVERR    LDX #$FF
  113. 570 DEV       INX
  114. 575 :         LDA $A1D0,X
  115. 580 :         STA $0200,X
  116. 585 :         BPL DEV
  117. 590 :         AND #$7F
  118. 595 :         STA $0200,X
  119. 600 :         INX
  120. 605 :         LDA #13
  121. 610 :         STA $0200,X
  122. 615 ERROR     INC 199
  123. 620 :         STX 2
  124. 625 :         LDX #20
  125. 630 :         LDA #40
  126. 635 :         SEC
  127. 640 :         SBC 2
  128. 645 :         LSR
  129. 650 :         TAY
  130. 655 :         CLC
  131. 660 :         JSR PLOT
  132. 665 :         LDX #0
  133. 670 ERROUT    LDA $0200,X
  134. 675 :         JSR CHROUT
  135. 680 :         INX
  136. 685 :         CMP #13
  137. 690 :         BNE ERROUT
  138. 695 :         LSR 199
  139. 700 INKEY     JSR GET
  140. 705 :         BEQ INKEY
  141. 710 :         JMP MENU
  142. 715 :;
  143. 720 :;****** FORMAT-IRQPROGRAMM ******
  144. 725 :;
  145. 730 FRMTRACK  LDA $1C00
  146. 735 :         AND #$10
  147. 740 :         BNE DISKREADY
  148. 745 :         LDA #8
  149. 750 :         JMP $F969
  150. 755 DISKREADY LDA $1C0C
  151. 760 :         AND #$1F
  152. 765 :         ORA #$C0
  153. 770 :         STA $1C0C
  154. 775 :         LDA #$FF
  155. 780 :         STA $1C03
  156. 785 :         LDA #$55
  157. 790 :         STA $1C01
  158. 795 :         LDA $06
  159. 800 :         JSR $F24B
  160. 805 :         STA $43
  161. 810 :         LDY #0
  162. 815 :         STY $07
  163. 820 SETHEADER LDA #8
  164. 825 :         STA $0700,Y
  165. 830 :         INY
  166. 835 :         LDA #0
  167. 840 :         EOR $07
  168. 845 :         EOR $06
  169. 850 :         EOR $13
  170. 855 :         EOR $12
  171. 860 :         STA $0700,Y
  172. 865 :         INY
  173. 870 :         LDA $07
  174. 875 :         STA $0700,Y
  175. 880 :         INY
  176. 885 :         LDA $06
  177. 890 :         STA $0700,Y
  178. 895 :         INY
  179. 900 :         LDA $13
  180. 905 :         STA $0700,Y
  181. 910 :         INY
  182. 915 :         LDA $12
  183. 920 :         STA $0700,Y
  184. 925 :         INY
  185. 930 :         LDA #$0F
  186. 935 :         STA $0700,Y
  187. 940 :         INY
  188. 945 :         STA $0700,Y
  189. 950 :         INY
  190. 955 :         INC $07
  191. 960 :         LDA $07
  192. 965 :         CMP $43
  193. 970 :         BCC SETHEADER
  194. 975 :         TYA:PHA
  195. 980 :         LDA #7
  196. 985 :         STA $31
  197. 990 :         JSR $FE30
  198. 995 :         PLA:TAY
  199. 1000 :         DEY
  200. 1005 MOVEBLK   LDA $0700,Y
  201. 1010 :         STA $0745,Y
  202. 1015 :         DEY
  203. 1020 :         BNE MOVEBLK
  204. 1025 :         LDA $0700
  205. 1030 :         STA $0745
  206. 1035 :         LDY #$44
  207. 1040 MOVEREST  LDA $01BB,Y
  208. 1045 :         STA ($30),Y
  209. 1050 :         DEY
  210. 1055 :         BPL MOVEREST
  211. 1060 :         LDA #5
  212. 1065 :         STA $31
  213. 1070 :         LDA #00
  214. 1075 :         STA $32
  215. 1080 NEXTBLOCK LDA #$FF
  216. 1085 :         STA $1C01
  217. 1090 :         LDX #5
  218. 1095 SYNC      BVC SYNC
  219. 1100 :         CLV
  220. 1105 :         DEX
  221. 1110 :         BNE SYNC
  222. 1115 :         LDX #$0A
  223. 1120 :         LDY $32
  224. 1125 WRITEHEAD BVC WRITEHEAD
  225. 1130 :         CLV
  226. 1135 :         LDA $0700,Y
  227. 1140 :         STA $1C01
  228. 1145 :         INY
  229. 1150 :         DEX
  230. 1155 :         BNE WRITEHEAD
  231. 1160 :         LDX #9
  232. 1165 :         STY $32
  233. 1170 HEADERGAP BVC HEADERGAP
  234. 1175 :         CLV
  235. 1180 :         LDA #$55
  236. 1185 :         STA $1C01
  237. 1190 :         DEX
  238. 1195 :         BNE HEADERGAP
  239. 1200 :         LDA #$FF
  240. 1205 :         LDX #5
  241. 1210 BLOCKSYNC BVC BLOCKSYNC
  242. 1215 :         CLV
  243. 1220 :         STA $1C01
  244. 1225 :         DEX
  245. 1230 :         BNE BLOCKSYNC
  246. 1235 :         LDX #$BB
  247. 1240 WRTBLK1   BVC WRTBLK1
  248. 1245 :         CLV
  249. 1250 :         LDA $0600,X
  250. 1255 :         STA $1C01
  251. 1260 :         INX
  252. 1265 :         BNE WRTBLK1
  253. 1270 :         LDY #$00
  254. 1275 WRTBLK2   BVC WRTBLK2
  255. 1280 :         CLV
  256. 1285 :         LDA ($30),Y
  257. 1290 :         STA $1C01
  258. 1295 :         INY
  259. 1300 :         BNE WRTBLK2
  260. 1305 :         LDA #$55
  261. 1310 :         LDX #9
  262. 1315 SECTORGAP BVC SECTORGAP
  263. 1320 :         CLV
  264. 1325 :         STA $1C01
  265. 1330 :         DEX
  266. 1335 :         BNE SECTORGAP
  267. 1340 :         DEC $07
  268. 1345 :         BNE NEXTBLOCK
  269. 1350 WAIT      BVC WAIT
  270. 1355 :         CLV
  271. 1360 WAIT2     BVC WAIT2
  272. 1365 :         CLV
  273. 1370 :         JSR $FE00
  274. 1375 :         LDA #1
  275. 1380 :         JMP $F969
  276. 1385 :;
  277. 1390 :;***** FORMAT-HAUPTPROGRAMM *****
  278. 1395 :;
  279. 1400 :         LDA #15
  280. 1405 :         STA $1C07
  281. 1410 :         JSR $C118
  282. 1415 :         LDA #$01
  283. 1420 :         STA $06
  284. 1425 :         STA $07
  285. 1430 :         LDA #$C0
  286. 1435 :         STA $00
  287. 1440 BUMP      LDA $00
  288. 1445 :         BMI BUMP
  289. 1450 STEPPER   LDA $4A
  290. 1455 :         BMI STEPPER
  291. 1460 :         LDX #$FF
  292. 1465 WRITENAME INX
  293. 1470 :         LDA DISKNAME,X
  294. 1475 :         STA $0200,X
  295. 1480 :         BNE WRITENAME
  296. 1485 :         LDY #16
  297. 1490 :         STY $0274
  298. 1495 :         INY
  299. 1500 :         LDA $0200,Y
  300. 1505 :         STA $12
  301. 1510 :         INY
  302. 1515 :         LDA $0200,Y
  303. 1520 :         STA $13
  304. 1525 NEXTTRACK LDY #0
  305. 1530 :         STY $30
  306. 1535 :         LDA #5
  307. 1540 :         STA $31
  308. 1545 :         LDA #$4B
  309. 1550 CLRBUFFER STA ($30),Y
  310. 1555 :         LDA #$01
  311. 1560 :         INY
  312. 1565 :         BNE CLRBUFFER
  313. 1570 :         LDX #0
  314. 1575 :         JSR $F5E9
  315. 1580 :         STA $3A
  316. 1585 :         JSR $F78F
  317. 1590 :         LDX #$BB
  318. 1595 SAVEBUFF  LDA $0100,X
  319. 1600 :         STA $0600,X
  320. 1605 :         INX
  321. 1610 :         BNE SAVEBUFF
  322. 1615 :         LDA #$E0
  323. 1620 :         STA $00
  324. 1625 FORMAT    LDA $00
  325. 1630 :         BMI FORMAT
  326. 1635 :         CMP #2
  327. 1640 :         BCC OK
  328. 1645 :         JMP $E60A
  329. 1650 OK        INC $06
  330. 1655 :         LDA $06
  331. 1660 :         CMP #36
  332. 1665 :         BCC NEXTTRACK
  333. 1670 :         JMP $EE40
  334. 1675 NAME     .ASC "                "
  335. 1680 ID1      .ASC ",  "
  336. 1685 :        .BYT 0
  337. 1690 :;
  338. 1695 :;****** FLOPPY-PRG SENDEN *******
  339. 1700 :;
  340. 1705 BUFFERWRT LDY #0
  341. 1710 :         STY $5F
  342. 1715 :         LDA #3
  343. 1720 :         STA $60
  344. 1725 SENDPRG   LDX #30
  345. 1730 :         LDA #8
  346. 1735 :         JSR LISTEN
  347. 1740 :         LDA #$6F
  348. 1745 :         JSR SECOND
  349. 1750 :         LDA #"M"
  350. 1755 :         JSR IECOUT
  351. 1760 :         LDA #"-"
  352. 1765 :         JSR IECOUT
  353. 1770 :         LDA #"W"
  354. 1775 :         JSR IECOUT
  355. 1780 :         LDA $5F
  356. 1785 :         JSR IECOUT
  357. 1790 :         LDA $60
  358. 1795 :         JSR IECOUT
  359. 1800 :         TXA
  360. 1805 :         JSR IECOUT
  361. 1810 SENDPART  LDA ($FB),Y
  362. 1815 :         JSR IECOUT
  363. 1820 :         INY
  364. 1825 :         DEX
  365. 1830 :         BNE SENDPART
  366. 1835 :         JSR UNLSTN
  367. 1840 :         CLC
  368. 1845 :         TYA
  369. 1850 :         ADC $FB
  370. 1855 :         STA $FB
  371. 1860 :         BCC DPOINTER
  372. 1865 :         INC $FC
  373. 1870 DPOINTER  CLC
  374. 1875 :         TYA
  375. 1880 :         ADC $5F
  376. 1885 :         STA $5F
  377. 1890 :         BCC NEXTPART
  378. 1895 :         INC $60
  379. 1900 NEXTPART  LDY #0
  380. 1905 :         LDA $FC
  381. 1910 :         CMP $FE
  382. 1915 :         BCC SENDPRG
  383. 1920 :         BNE EXECUTE
  384. 1925 :         LDA $FB
  385. 1930 :         CMP $FD
  386. 1935 :         BCC SENDPRG
  387. 1940 EXECUTE   LDA #8
  388. 1945 :         JSR LISTEN
  389. 1950 :         LDA #$6F
  390. 1955 :         JSR SECOND
  391. 1960 :         LDA #"M"
  392. 1965 :         JSR IECOUT
  393. 1970 :         LDA #"-"
  394. 1975 :         JSR IECOUT
  395. 1980 :         LDA #"E"
  396. 1985 :         JSR IECOUT
  397. 1990 :         LDA $57
  398. 1995 :         JSR IECOUT
  399. 2000 :         LDA $58
  400. 2005 :         JSR IECOUT
  401. 2010 :         JMP UNLSTN
  402. 2015 :;
  403. 2020 SCREEN   .ASC "[147][155]        [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]"
  404. 2025 :        .BYT 13
  405. 2030 :        .ASC "        [221]     QUICKFORMAT     [221]"
  406. 2035 :        .BYT 13
  407. 2040 :        .ASC "        [221]                     [221]"
  408. 2045 :        .BYT 13
  409. 2050 :        .ASC "        [221]   WRITTEN IN 1989   [221]"
  410. 2055 :        .BYT 13
  411. 2060 :        .ASC "        [221] BY MARCEL SOMMERICK [221]"
  412. 2065 :        .BYT 13
  413. 2070 :        .ASC "        [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]"
  414. 2075 :        .BYT 13
  415. 2080 :        .ASC "        DISKNAME:"
  416. 2085 :        .BYT 160
  417. 2090 ID2      .BYT 13
  418. 2095 :        .ASC "        ID:"
  419. 2100 :        .BYT 160
  420.